package utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

//对注册得手机号，邮箱号，用户名，密码进行合法性判断的
public class Validator {
    // 私有构造函数，防止外部实例化
    private Validator() {}

    //对用户注册和修改的密码进行合法性判断
    public static boolean isValidPassword(String password) {
        String regex = "^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*(),.?\":{}|<>]).{8,}$";
        Pattern pattern = Pattern.compile(regex);
        Matcher matcher = pattern.matcher(password);
        return matcher.matches();
    }

    //对用户注册的用户名进行合法性判断
    public  static boolean isValidUsername(String username) {
        if (username == null || username.trim().isEmpty()) {
            return false;
        }
        return username.length() >= 5;//用户名长度不少于5个字符
    }

    //判断中国手机号是否合法
    public static boolean isValidPhone(String phone) {
        // 中国手机号的正则表达式
        String regex = "^1(3|4|5|6|7|8|9)\\d{9}$";
        return phone != null && phone.matches(regex);
    }

    //判断邮箱是不是合法的
    public static boolean isValidEmail(String email) {
        // 邮箱的正则表达式
        String regex = "^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$";
        return email != null && email.matches(regex);
    }


}
